//Area.h
#ifndef _AREA_H_
    #define _AREA_H_

#include "Map.h"


//Area class used to scale the map size and
//Load images onto the game screen

class Area {
    public:

//AreaControl is a variable used to load, generate,
//and modify the image
        static Area            AreaControl;

//A vector of type Map used to hold the loaded maps.
        std::vector<Map>       MapList;

//No argument constructor for Area
        Area();

//Loads a image file
//The file is a .png file
        bool    OnLoad(char* File);

//Sets the screen to the loaded image file refreshes to reflect animation
//Surf_Display is a pointer to the surface that the map is loaded
//CamaraX and CameraY are the X and Y coordinates of the camera view
        void    OnRender(SDL_Surface* Surf_Display, int CameraX, int CameraY);

//Clears all Area data
        void    OnCleanup();

//A Map pointer to determine the coordinates of the map
//X and Y are the coordinates
        Map*    GetMap(int X, int Y);

//A Tile pointer to determine locations of tiles on the map
//X and Y are the locations
        Tile*    GetTile(int X, int Y);



    private:
        int                     AreaSize;

        SDL_Surface*			Surf_Tileset;

};

#endif

